package edu.smxy.associationmanagement.services.file;

import edu.smxy.associationmanagement.domain.File;

import java.util.List;
/**
 * FileService 服务层接口
 *
 * @date 2019/04/18
 * @author: : SDH
 * @description: 材料管理 服务层接口
 */
public interface FileService {
  /**
   * 根据id删除File数据
   *
   * @param id id
   * @return 数据库受影响的行数
   */
  int deleteByPrimaryKey(final Integer id);

  /**
   * 上传文件
   *
   * @param file File对象
   */
  void uploadFile(final File file);

  /**
   * 通过File的id获得File数据
   *
   * @param fileId File id
   * @return 查询到的File对象
   */
  File downloadFile(final int fileId);

  /**
   * 通过File的id获得File数据
   *
   * @param fileId File id
   * @return 查询到的File对象
   */
  File searchFileById(final int fileId);
  /**
   * 根据创建人id查询File数据
   *
   * @param authorId 创建人id
   * @return List<File> File对象集合
   */
  List<File> searchFileByAuthor(final int authorId);
  /**
   * 根据Event id查询File数据
   *
   * @param eventId Event id
   * @return List<File> File对象集合
   */
  List<File> searchFileByEvent(final int eventId);
  /**
   * 根据File对象查询File数据
   *
   * @param record File对象
   * @return 查询到的File数据
   */
  File selectByRecord(final File record);
  /**
   * 根据协会id查询File数据
   *
   * @param assid 协会id
   * @return List<File> File对象集合
   */
  List<File> getAllFileByAssid(final Integer assid);
  /**
   * 更新File数据
   *
   * @param record File对象
   * @return 数据库受影响行数
   */
  int updateByPrimaryKey(final File record);
  /**
   * 获得所有File
   *
   * @return List<File> File对象集合
   */
  List<File> getAllFile();
}
